/*
 * Copyright (c) 2012 SUBSECRETARIA DEFENSORIA DEL ESPACIO PUBLICO - SDEP.
 * All Rights Reserved.
 * This software is the confidential and proprietary information of SDEP
 * Developed By CONSTULT-SOFT S.A, Development Team 2012.
 *
 */
package co.gov.medellin.sdep.sisdep.model;

import co.gov.medellin.sdep.sisdep.common.enums.UploadFileEnum;

/**
 * <p>
 * Entidad que mapea con la tabla SISDEP.GES_ARCHIVO_ANEXO_T.
 * </p>
 * <p>
 * Copyright (c) 2012<BR>
 * Consult-Soft S.A.<BR>
 * Created on: May 20, 2012<BR>
 * 
 * @author atabares
 * 
 * @Refactoring
 * Adicion funcional al proceso de adjuntar y consultar archivos anexos a un elemento
 * funcional en un modulo del sistema SISDEP.
 * 
 * @author carlos.perez@consult-soft.com
 * @version 13-07-2012
 * 
 * </p>
 */
public class ArchivoAnexo implements java.io.Serializable {

	/** Serial key. */
	private static final long serialVersionUID = 4583499855574777123L;

	/** Identificador del registro. */
	private java.lang.Long id;

	private UploadFileEnum tipoAnexo;

	/** Enumerado que identifica el tipo de fuente asociado con el anexo. */
	private UploadFileEnum tipoFuente;

	/** Identificador de la entidad fuente asociada con el anexo. */
	private java.lang.Long idFuente;

	/** Identificador del tipo de anexo(Servira para identificar el Path donde se encuentra el archivo). */
	private java.lang.Long idTipoAnexo;
	
	/** Path donde se encuentra el archivo. */
	private java.lang.String serverPath;

	/** Identificador de la solicitud. */
	private java.lang.Long idSolicitud;

	/** Nombre del incial del archivo anexo. */
	private java.lang.String nombreOriginal;
	
	/** Nombre del interno del archivo anexo. */
	private java.lang.String nombreInterno;

	/** Myme type del archivo para descerializarlo. */
	private java.lang.String mimetype;

	/** Identifica login del usuario que crea el registro. */
	private java.lang.String usuarioCrea;

	/** Identifica la fecha y hora del sistema en la que se crea el registro. */
	private java.util.Date fechaCrea;
	
	/** Indica si la operacion que se esta ejecutando es una actualizacion. */
	private boolean actualizacion;

	
	/**
	 * Constructor por defecto.
	 */
	public ArchivoAnexo() {
	}

	/**
	 * Obtiene el parametro id.
	 * @see ArchivoAnexo#id
	 *
	 * @return El parametro id.
	 */
	public java.lang.Long getId() {
		return id;
	}

	/**
	 * Asigna el parametro id.
	 * @see ArchivoAnexo#id
	 *
	 * @param id valor a asignar al parametro id.
	 */
	public void setId(java.lang.Long id) {
		this.id = id;
	}

	/**
	* Obtiene el parametro tipoAnexo.
	* @see ArchivoAnexo#tipoAnexo
	*
	* @return El parametro tipoAnexo.
	*/
	public UploadFileEnum getTipoAnexo() {
		return tipoAnexo;
	}

	/**
	* Asigna el parametro tipoAnexo.
	* @see ArchivoAnexo#tipoAnexo
	*
	* @param tipoAnexo valor a asignar al parametro tipoAnexo.
	*/
	public void setTipoAnexo(UploadFileEnum tipoAnexo) {
		this.tipoAnexo = tipoAnexo;
	}

	/**
	 * Obtiene el parametro idTipoAnexo.
	 * @see ArchivoAnexo#idTipoAnexo
	 *
	 * @return El parametro idTipoAnexo.
	 */
	public java.lang.Long getIdTipoAnexo() {
		return idTipoAnexo;
	}

	/**
	 * Asigna el parametro idTipoAnexo.
	 * @see ArchivoAnexo#idTipoAnexo
	 *
	 * @param idTipoAnexo valor a asignar al parametro idTipoAnexo.
	 */
	public void setIdTipoAnexo(java.lang.Long idTipoAnexo) {
		this.idTipoAnexo = idTipoAnexo;
	}

	/**
	* Obtiene el parametro serverPath.
	* @see ArchivoAnexo#serverPath
	*
	* @return El parametro serverPath.
	*/
	public java.lang.String getServerPath() {
		return serverPath;
	}

	/**
	* Asigna el parametro serverPath.
	* @see ArchivoAnexo#serverPath
	*
	* @param serverPath valor a asignar al parametro serverPath.
	*/
	public void setServerPath(java.lang.String serverPath) {
		this.serverPath = serverPath;
	}

	/**
	 * Obtiene el parametro idSolicitud.
	 * @see ArchivoAnexo#idSolicitud
	 *
	 * @return El parametro idSolicitud.
	 */
	public java.lang.Long getIdSolicitud() {
		return idSolicitud;
	}

	/**
	 * Asigna el parametro idSolicitud.
	 * @see ArchivoAnexo#idSolicitud
	 *
	 * @param idSolicitud valor a asignar al parametro idSolicitud.
	 */
	public void setIdSolicitud(java.lang.Long idSolicitud) {
		this.idSolicitud = idSolicitud;
	}


	/**
	 * Obtiene el parametro mimetype.
	 * @see ArchivoAnexo#mimetype
	 *
	 * @return El parametro mimetype.
	 */
	public java.lang.String getMimetype() {
		return mimetype;
	}

	/**
	 * Asigna el parametro mimetype.
	 * @see ArchivoAnexo#mimetype
	 *
	 * @param mimetype valor a asignar al parametro mimetype.
	 */
	public void setMimetype(java.lang.String mimetype) {
		this.mimetype = mimetype;
	}

	/**
	 * Obtiene el parametro usuarioCrea.
	 * @see ArchivoAnexo#usuarioCrea
	 *
	 * @return El parametro usuarioCrea.
	 */
	public java.lang.String getUsuarioCrea() {
		return usuarioCrea;
	}

	/**
	 * Asigna el parametro usuarioCrea.
	 * @see ArchivoAnexo#usuarioCrea
	 *
	 * @param usuarioCrea valor a asignar al parametro usuarioCrea.
	 */
	public void setUsuarioCrea(java.lang.String usuarioCrea) {
		this.usuarioCrea = usuarioCrea;
	}

	/**
	 * Obtiene el parametro fechaCrea.
	 * @see ArchivoAnexo#fechaCrea
	 *
	 * @return El parametro fechaCrea.
	 */
	public java.util.Date getFechaCrea() {
		return fechaCrea;
	}

	/**
	 * Asigna el parametro fechaCrea.
	 * @see ArchivoAnexo#fechaCrea
	 *
	 * @param fechaCrea valor a asignar al parametro fechaCrea.
	 */
	public void setFechaCrea(java.util.Date fechaCrea) {
		this.fechaCrea = fechaCrea;
	}

	/**
	* Obtiene el parametro actualizacion.
	* @see ArchivoAnexo#actualizacion
	*
	* @return El parametro actualizacion.
	*/
	public boolean isActualizacion() {
		return actualizacion;
	}

	/**
	* Asigna el parametro actualizacion.
	* @see ArchivoAnexo#actualizacion
	*
	* @param actualizacion valor a asignar al parametro actualizacion.
	*/
	public void setActualizacion(boolean actualizacion) {
		this.actualizacion = actualizacion;
	}

	/**
	 * @return the tipoFuente
	 */
	public UploadFileEnum getTipoFuente() {
		return tipoFuente;
	}

	/**
	 * @param tipoFuente the tipoFuente to set
	 */
	public void setTipoFuente(UploadFileEnum tipoFuente) {
		this.tipoFuente = tipoFuente;
	}

	/**
	 * @return the idFuente
	 */
	public java.lang.Long getIdFuente() {
		return idFuente;
	}

	/**
	 * @param idFuente the idFuente to set
	 */
	public void setIdFuente(java.lang.Long idFuente) {
		this.idFuente = idFuente;
	}

	/**
	 * @return the nombreOriginal
	 */
	public java.lang.String getNombreOriginal() {
		return nombreOriginal;
	}

	/**
	 * @param nombreOriginal the nombreOriginal to set
	 */
	public void setNombreOriginal(java.lang.String nombreOriginal) {
		this.nombreOriginal = nombreOriginal;
	}

	/**
	 * @return the nombreInterno
	 */
	public java.lang.String getNombreInterno() {
		return nombreInterno;
	}

	/**
	 * @param nombreInterno the nombreInterno to set
	 */
	public void setNombreInterno(java.lang.String nombreInterno) {
		this.nombreInterno = nombreInterno;
	}

}